require.config({
    waitSeconds: 30,
    _STARTHASHTAG:1,
    baseUrl: './',
    paths: {
        /*
         * Third Party
         */
        'angular': './lib/angular', //providing min.js help reduce the final result by 10kb: not that helpful
        'angularAria': './lib/angular-aria',
        'angularRoute': './lib/angular-route',
        'angularAnimate': './lib/angular-animate',
        'angularMaterial': './lib/angular-material',
        'angularIcons': './lib/angular-material-icons.min',
        'uiRouter': './lib/angular-ui-router',
        'domReady': './lib/domReady',
        'angularCarousel': './lib/angular-carousel',
        'jQuery': './lib/jquery-3.2.1',
        'gamecore': './lib/gamecore',
        'angularKatex': './lib/angular-katex',
        'inflate': './lib/inflate.min',
        'bootstrap': './lib/bootstrap/bootstrap.bundle.4.3.1',
        'mapboxgl': './lib/mapbox-gl-unminified',
        /*
         * Editor Modules
         */
        'uiApp': './app/ui.app',
        'uiBootstrap': './ui.bootstrap',
        'routingmap': './app/ui.routingmap',
        /*
         * Utils without deps
         */
        'DomEvents': './app/utils/DomEvents',
        'Evento': './app/utils/Evento',
        'AABB': './app/utils/AABB',
        'coordUtils': './app/utils/coordUtils',
        'tileutils': './app/utils/tileutils',
        /*
         * mapbox
         */
        'geoutils': './app/utils/elevation/geoutils',
        'sphericalMercator': './app/utils/elevation/sphericalMercator',
        'CopyShader': './app/mapbox/lib/CopyShader',
        'FXAAShader': './app/mapbox/lib/FXAAShader',
        'Pass': './app/mapbox/lib/Pass',
        'SimplexNoise': './app/mapbox/lib/SimplexNoise',
        'SMAAPass': './app/mapbox/lib/SMAAPass',
        'SMAAShader': './app/mapbox/lib/SMAAShader',
        'mbDomUtils': './app/mapbox/mbDomUtils',
        'mbmaputils': './app/mapbox/mbmaputils',
        'mbTerrainLayer': 'https://srv.sagnitude.com/mbTerrainLayer',
        'mbCameraSync': './app/mapbox/mbCameraSync',
        'TerrainOrbitControls': './app/mapbox/TerrainOrbitControls',
        'mbElevationUtils': './app/mapbox/mbElevationUtils',
        'mbMarkerUtils': './app/mapbox/mbMarkerUtils',
        'mbPolylineUtils': './app/mapbox/mbPolylineUtils',
        'mbBaseModels': './app/mapbox/mbBaseModels',
        /*
         * Utils without deps
         */
        'map3d.Net': './app/utils/Net',
        'map3d.polyfills': './app/utils/polyfill',
        'fastdom': './lib/fastdom',
        'encoding': './app/utils/encoding',
        'RequestPool': './app/utils/RequestPool',
        'H': './app/utils/utils',
        /*
         * Utils
         */
        'resize': './app/utils/resize',
        'THREE': './lib/three.94.modified',
        /*
         * Renderer Components
         */
        'three.effectComposer': './app/threed/EffectComposer',
        'THREE.fbxloader': './app/threed/FBXLoader',
        'THREE.dracoloader': './app/threed/DRACOLoader',
        'THREE.gltfloader': './app/threed/GLTFLoader',
        'THREE.objloader': './app/threed/OBJLoader',
        'THREE.mtlloader': './app/threed/MTLLoader',
        'THREE.CSS2DRenderer': './app/threed/CSS2DRenderer',
        'THREE.FileLoader.async': './app/threed/THREE.FileLoader.async',
        /*
         * modules
         */
        'initTerrain': './app/mapinits/initTerrain',
        'initMapBox': './app/mapinits/initMapBox',
        /*
         * 功能模块
         */
        'scriptLoader': './app/maps/scriptLoader',
    },
    shim: {
        'angular': {
            deps: ['jQuery'],
            exports: 'angular'
        },
        'uiRouter':{
            deps:['angular'],
            exports: 'uiRouter'
        },
        'uiGrid':{
            deps:['angular'],
            exports: 'uiGrid'
        },
        'angularAria':{
            deps:['angular'],
            exports: 'angularAria'
        },
        'angularRoute':{
            deps:['angular'],
            exports: 'angularRoute'
        },
        'angularAnimate':{
            deps:['angular'],
            exports: 'angularAnimate'
        },
        'angularMaterial':{
            deps:['angular'],
            exports: 'angularMaterial'
        },
        'uiApp': {
            deps: [
                'H',
                'angular',
                'angularAria',
                'angularRoute',
                'angularAnimate',
                'angularMaterial',
                'angularIcons',
                'uiRouter',
            ]
        }
    },
    packages: [
        {
            name: 'controllers',
            main: 'module_controllers',
            location: './app/controllers'
        },
        {
            name: 'services',
            main: 'module_services',
            location: './app/services'
        },
    ],
    priority: [
        'angular'
    ],
    _ENDHASHTAG:1,
    deps: [
        'angular',
        'uiBootstrap',
        'fastdom'
    ]
    , urlArgs: "bust=" + (new Date()).getTime()
});
// window.define = define;
// window.require = require;